package com.sg.dto.integration.framework;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Objects;

/**
 * @desc OrgDutyTargetDetailDto
 * @使用场景
 */
@Data
public class OrgDutyTargetDetailDto extends BaseDto implements Serializable {

    /**
     * 目标职责明细ID
     */
    @ApiModelProperty("目标职责明细ID")
    private String dutyTargetDetailId;

    /**
     * 明细内容
     */
    @ApiModelProperty("明细内容")
    private String content;

    /**
     * 是否存档
     */
    @ApiModelProperty("是否存档")
    private String isArchive;

    /**
     * 主体生命周期
     */
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;

    /**
     * 排序
     */
    @ApiModelProperty("排序")
    private String orderNumber;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        if (!super.equals(o)) return false;
        OrgDutyTargetDetailDto that = (OrgDutyTargetDetailDto) o;
        return (
                dutyTargetDetailId == that.dutyTargetDetailId &&
                        content == that.content &&
                        isArchive == that.isArchive &&
                        subjectLifeCycle == that.subjectLifeCycle &&
                        orderNumber == that.orderNumber
        );
    }

    @Override
    public int hashCode() {
        return Objects.hash(
                super.hashCode(),
                dutyTargetDetailId,
                content,
                isArchive,
                subjectLifeCycle,
                orderNumber
        );
    }

}
